home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-09-02 | 8.0 KB | 316 lines | [TEXT/CCL2] |
- ; this file contains a grammar written in a vanilla AV fashion,
- ; vaguely inspired by LFG. Grammatical relations are represented
- ; by attributes. No attempt is made to collapse ambiguous lexical
- ; items.
-
-
- #[
- category-prefix = cat. ; paths to category label
- value-prefix = head.
-
- start-category := cat(**) = S1,
- root(*) = +,
- tensed(*) = +,
- slash(*) = none.
-
- restrictor := cat(**) = _,
- root(*) = _,
- sem(slash(*)) = _,
- inv(*) = _,
- tensed(*) = _,
- root(*) = _.
-
- ;;; Lexical items.
-
- Mary NP: pred(sem(*)) = Mary,
- num(agr(*)) = sg,
- slash(*) = none.
-
- people N: pred(sem(*)) = people,
- num(agr(*)) = pl.
-
- dog N: pred(sem(*)) = dog,
- num(agr(*)) = sg.
-
- dogs N: pred(sem(*)) = dog,
- num(agr(*)) = pl.
-
- cat N: pred(sem(*)) = cat,
- num(agr(*)) = sg.
-
- cats N: pred(sem(*)) = cat,
- num(agr(*)) = pl.
-
- sheep N: pred(sem(*)) = sheep.
-
- it NP: sem(*) = it,
- slash(*) = none.
-
- the Det: def(sem(*)) = +.
-
- a Det: def(sem(*)) = -,
- num(agr(*)) = sg.
-
- that C: wh(*) = -,
- inv(*) = -,
- tensed(*) = +.
-
- who C: question(sem(*)) = +,
- wh(*) = +,
- slash(*) = none,
- sem(binds(*)) = operator(sem(*)),
- pred(sem(binds(*))) = who,
- num(agr(binds(*))) = sg,
- scope(sem(*)) = sem(scope(*)).
-
- sleeps V: pred(sem(*)) = sleep,
- sem(subj(*)) = agent(sem(*)),
- num(agr(subj(*))) = sg,
- obj(*) =none,
- comp(*) = none,
- tensed(*) = +,
- inv(*) = -.
-
- sleep V: pred(sem(*)) = sleep,
- sem(subj(*)) = agent(sem(*)),
- num(agr(subj(*))) = pl,
- obj(*) = none,
- comp(*) = none,
- tensed(*) = +,
- inv(*) = -.
-
- sleep V: pred(sem(*)) = sleep,
- sem(subj(*)) = agent(sem(*)),
- obj(*) =none,
- comp(*) = none,
- tensed(*) = -,
- form(*) = bare,
- inv(*) = -.
-
- chases V: pred(sem(*)) = chase,
- agent(sem(*)) = sem(subj(*)),
- patient(sem(*)) = sem(obj(*)),
- num(agr(subj(*))) = sg,
- comp(*) = none,
- tensed(*) = +,
- inv(*) = -.
-
- chase V: pred(sem(*)) = chase,
- agent(sem(*)) = sem(subj(*)),
- patient(sem(*)) = sem(obj(*)),
- num(agr(subj(*))) = pl,
- comp(*) = none,
- tensed(*) = +,
- inv(*) = -.
-
- chase V: pred(sem(*)) = chase,
- agent(sem(*)) = sem(subj(*)),
- patient(sem(*)) = sem(obj(*)),
- comp(*) = none,
- tensed(*) = -,
- form(*) = bare,
- inv(*) = -.
-
- thinks V: pred(sem(*)) = think,
- agent(sem(*)) = sem(subj(*)),
- theme(sem(*)) = sem(comp(*)),
- obj(*) = none,
- num(agr(subj(*))) = sg,
- tensed(*) = +,
- tensed(comp(*)) = +,
- inv(*) = -.
-
- think V: pred(sem(*)) = think,
- agent(sem(*)) = sem(subj(*)),
- theme(sem(*)) = sem(comp(*)),
- obj(*) = none,
- num(agr(subj(*))) = pl,
- tensed(*) = +,
- tensed(comp(*)) = +,
- inv(*) = -.
-
- think V: pred(sem(*)) = think,
- agent(sem(*)) = sem(subj(*)),
- theme(sem(*)) = sem(comp(*)),
- obj(*) = none,
- tensed(*) = -,
- form(*) = bare,
- tensed(comp(*)) = +,
- inv(*) = -.
-
- wonders V: pred(sem(*)) = wonder,
- agent(sem(*)) = sem(subj(*)),
- theme(sem(*)) = sem(comp(*)),
- obj(*) = none,
- tensed(*) = +,
- inv(*) = -,
- num(agr(subj(*))) = sg,
- tensed(comp(*)) = +,
- wh(comp(*)) = +.
-
- wonder V: pred(sem(*)) = wonder,
- agent(sem(*)) = sem(subj(*)),
- theme(sem(*)) = sem(comp(*)),
- obj(*) = none,
- tensed(*) = +,
- inv(*) = -,
- num(agr(subj(*))) = pl,
- tensed(comp(*)) = +,
- wh(comp(*)) = +.
-
- wonder V: pred(sem(*)) = wonder,
- agent(sem(*)) = sem(subj(*)),
- theme(sem(*)) = sem(comp(*)),
- obj(*) = none,
- tensed(*) = -,
- inv(*) = -,
- form(*) = bare,
- tensed(comp(*)) = +,
- wh(comp(*)) = +.
-
- seems V: pred(sem(*)) = seem,
- theme(sem(*)) = sem(comp(*)),
- subj(*) = subj(comp(*)),
- obj(*) = none,
- num(agr(subj(*))) = sg,
- tensed(*) = +,
- inv(*) = -,
- tensed(comp(*)) = -,
- form(comp(*)) = inf.
-
- seems V: pred(sem(*)) = seem,
- theme(sem(*)) = sem(comp(*)),
- sem(subj(*)) = it,
- obj(*) = none,
- tensed(*) = +,
- inv(*) = -,
- tensed(comp(*)) = +.
-
- seem V: pred(sem(*)) = seem,
- theme(sem(*)) = sem(comp(*)),
- subj(*) = subj(comp(*)),
- obj(*) = none,
- num(agr(subj(*))) = pl,
- tensed(*) = +,
- inv(*) = -,
- tensed(comp(*)) = -,
- form(comp(*)) = inf.
-
- seem V: pred(sem(*)) = seem,
- theme(sem(*)) = sem(comp(*)),
- subj(*) = subj(comp(*)),
- obj(*) = none,
- tensed(*) = -,
- inv(*) = -,
- form(*) = bare,
- tensed(comp(*)) = -,
- form(comp(*)) = inf.
-
- to V: sem(*) = sem(comp(*)),
- subj(*) = subj(comp(*)),
- obj(*) = none,
- tensed(*) = -,
- inv(*) = -,
- form(*) = inf,
- tensed(comp(*)) = -,
- form(comp(*)) = bare.
-
- does V: emphatic(sem(*)) = +,
- sem(*) = sem(comp(*)),
- subj(*) = subj(comp(*)),
- obj(*) = none,
- num(agr(subj(*))) = sg,
- tensed(*) = +,
- tensed(comp(*)) = -,
- form(comp(*)) = bare.
-
- do V: emphatic(sem(*)) = +,
- sem(*) = sem(comp(*)),
- subj(*) = subj(comp(*)),
- obj(*) = none,
- num(agr(subj(*))) = pl,
- tensed(*) = +,
- tensed(comp(*)) = -,
- form(comp(*)) = bare.
-
- will V: pred(sem(*)) = future,
- theme(sem(*)) = sem(comp(*)),
- subj(*) = subj(comp(*)),
- obj(*) = none,
- tensed(*) = +,
- tensed(comp(*)) = -,
- form(comp(*)) = bare.
-
- ;;; rules
-
- S1 --> S: *0 = *1, ; expands an S1 to a complementizerless S
- wh(*0) = -.
-
- S1 --> C S: *0 = *1, ; expands an S1 to a that-complementizer and an S
- *0 = *2,
- wh(*0) = -.
-
- S1 --> C S: *0 = *1, ; expands an S1 to a WH-operator complementizer and an S
- scope(*1) = *2,
- binds(*1) = slash(*2),
- tensed(*0) = tensed(*2),
- form(*0) = form(*2),
- inv(*2) = root(*0).
-
- S --> VP: form(*0) = form(*1), ; the "VP-metarule"
- tensed(*0) = tensed(*1),
- root(*0) = root(*1),
- sem(*1) = sem(*0),
- slash(*0) = subj(*1),
- slash(*1) = none.
-
- S --> NP VP: *0 = *2,
- inv(*0) = -,
- subj(*0) = *1,
- slash(*1) = none.
-
- S --> V NP VP: *0 = *1,
- comp(*0) = *3,
- inv(*0) = +,
- root(*0) = +,
- question(sem(*0)) = +,
- subj(*0) = *2,
- slash(*0) = slash(*3),
- slash(*2) = none.
-
- VP --> V: *0 = *1,
- obj(*0) = none,
- comp(*0) = none,
- slash(*0) = none.
-
- VP --> V NP: *0 = *1,
- obj(*0) = *2,
- comp(*0) = none,
- slash(*0) = slash(*2).
-
- VP --> V S1: *0 = *1,
- obj(*0) = none,
- comp(*0) = *2,
- inv(*2) = -,
- root(*2) = -,
- tensed(*2) = +,
- slash(*0) = slash(*2).
-
- VP --> V VP: *0 = *1,
- obj(*0) = none,
- comp(*0) = *2,
- tensed(*2) = -,
- slash(*0) = slash(*2).
-
- NP --> Det N: *0 = *1,
- *0 = *2,
- slash(*0) = none.
-
- NP --> N: *0 = *1,
- def(sem(*1)) = -,
- num(agr(*1)) = pl,
- slash(*0) = none.
-
- NP --> : *0 = slash(*0). ; the slash termination rule
-
- #]